SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO



CREATE PROCEDURE [dbo].[LIQCajaComplementaria] 
@Agente int,
@Servicio int,
@Plaza int,
@Resultado float output,
@idLiquidacion int,
@DiasALiquidar int,
@DiasDelPeriodo INT
 AS 


SET NOCOUNT ON
SET DATEFORMAT DMY 


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-- NO SE UTILIZA AL 18/11/2005
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

declare @Jubilacion float
declare @TotalRemunerativo float
declare @Afiliacion int, @horas int, @regimensalarial  int, @organizacion int, @situacionrevista int
declare @DescCajaComplementaria float
declare @NroError int
Declare @SubOrganizacion Int
Declare @Cuise Int

Select @TotalRemunerativo = sum(MontoHaberes)  from tb_RegistroDeLiquidaciones, tb_ConceptosDeLiquidacion 
 where Servicio = @Servicio and liquidacion = @idLiquidacion and concepto = idConceptoLiquidacion and (tipo = 1 or tipo = 2)

Select @Afiliacion = idAfiliacion from tb_Afiliaciones where idAgente = @Agente
Select @horas= horas, @regimensalarial = regimensalarial, @SubOrganizacion = SubOrganizacion from tb_Plazas where idPlaza = @Plaza
Select @Organizacion = ubicacionOrig, @SituacionRevista = SituacionRevista from tb_ServiciosAgentes where idservicioAgente =  @Servicio
Select @Cuise = Cuise From tb_Organizaciones Where idOrganizaciones = @Organizacion

Select @DescCajaComplementaria = @TotalRemunerativo * 0.045

If (Select OrganizacionLiquidadora From tb_SubOrganizaciones Where idSubOrganizacion = @SubOrganizacion) Is Not Null
	Select @Organizacion = OrganizacionLiquidadora From tb_SubOrganizaciones Where idSubOrganizacion = @SubOrganizacion


If Not Exists(Select * From tb_ConceptosSinLiquidarPorOrganizacion Where Cuise = @Cuise And idConcepto = 14)
	insert into tb_RegistroDeLiquidaciones (AfectadosPorAjuste, Afiliacion, Agente, Ajuste, Cantidad, Cargosalarial, Concepto, Descripcion, DescuentoExterno, Desde, Dias, Embargo, Hasta, Horas, LegajoSalarial, Liquidacion, MontoDescuento, MontoHaberes, Organizacion, Reclamado, Servicio, SituacionRevista, DiasLiquidados, SubOrganizacion)
	values (null, @Afiliacion, @Agente, null, 1, null, 14, null, null, null, null, null, null, @horas, 0, @idLiquidacion, @DescCajaComplementaria, 0, @Organizacion, null, @Servicio, @SituacionRevista, @diasALiquidar, @SubOrganizacion)
Else
	insert into tb_RegistroDeLiquidaciones (AfectadosPorAjuste, Afiliacion, Agente, Ajuste, Cantidad, Cargosalarial, Concepto, Descripcion, DescuentoExterno, Desde, Dias, Embargo, Hasta, Horas, LegajoSalarial, Liquidacion, MontoDescuento, MontoHaberes, Organizacion, Reclamado, Servicio, SituacionRevista, DiasLiquidados, SubOrganizacion)
	values (null, @Afiliacion, @Agente, null, 1, null, 14, null, null, null, null, null, null, @horas, 0, @idLiquidacion, 0, 0, @Organizacion, null, @Servicio, @SituacionRevista, @diasALiquidar, @SubOrganizacion)

Select @NroError = @@error

if @NroError <> 0
 insert into tb_ErroresLiquidacion (Agente, Concepto, Diagnostico, Fecha, Liquidacion, Organizacion, Servicio) values
(@Agente, 14, convert(varchar,@NroError), getdate(), @idLiquidacion, @Organizacion, @Servicio)
GO
